Quickstart: Parametric Frequency Sweep with the command line interface
------------------------------------------------------------------------

**NeurEcoFNN** is the executable used for building, evaluating and exporting **Parametric Frequency Sweep** models. The executable can be called directly from a terminal / powershell only after a full installation (the portable version does not offer this option).

To build a NeurEco Parametric Frequency Sweep model, run the following command in the terminal:

.. code-block:: shell

    neurecoFNN build path/to/build/configuration/file/build.conf

The skeleton of a configuration file required to build NeurEco Parametric Frequency Sweep model, here *build.conf*, looks as follows (for the test case :std:ref:`PFS test case in quickstart`).
Its fields should be filled according to the problem at hand.

.. code-block:: javascript
   :linenos:

    {"neurecoFNN_build": {
        "AdvancedSettings": {
        },
        "checkpoint_address": "./fssModel/fss_model.checkpoint",
        "input_filenames": [
            "./inputs_train.npy"
        ],
        "output_filenames": [
            "./targets_train.npy"
        ],
        "resume": false,
        "settings": {
            "compressed_space_size": 5,
            "enrichment_rate": 0.2,
            "max_number_of_enrichments": 200,
            "min_number_of_enrichments": 10,
            "unsuccessful_enrichments": 4,
            "validation_percentage": 30
        },
        "test_input_filenames": [
            "./inputs_test.npy"
        ],
        "test_output_filenames": [
            "./targets_test.npy"
        ],
        "validation_input_filenames": [
            "./inputs_valid.npy"
        ],
        "validation_output_filenames": [
            "./targets_valid.npy"
        ],
        "write_model_to": "./fssModel/fss_model.efnn"
    }


.. note:: 
    For detailed documentation on **build**, see :std:ref:`Build NeurEco Parametric Frequency Sweep model with the command line interface`. For data preparation, see :std:ref:`Data preparation for NeurEco Parametric Frequency Sweep conf`.


To perform an evaluation, run the following command in the terminal:

.. code-block:: shell

    neurecoFNN evaluate path/to/evaluation/configuration/file/eval.conf
	
The skeleton of an evaluation configuration file, here *eval.conf*, looks as follows (for the test case :std:ref:`PFS test case in quickstart`).
Its fields should be filled according to the problem at hand.

.. code-block:: javascript

   {
    "neurecoFNN_evaluate": {
        "input_filenames": ["./inputs_test.npy"],
        "neureco_filename": "./FSS.efnn",
        "write_model_output_to_directory": "./EvaluationResults"
    }
   }

.. note::
    For detailed documentation on **evaluate**, see :std:ref:`Evaluate NeurEco Parametric Frequency Sweep model with the command line interface`.

To export the model to FMU format, run:

.. code-block:: shell

	neurecoRNN exportFMU ./FSS.efnn ./FSS.fmu

Export to FMU format requires *neureco_embed_pfs* license.

.. note::
    For detailed documentation on Parametric Frequency Sweep with the command line interface, see :std:ref:`Parametric Frequency Sweep with a configuration file`.